﻿using System;
using System.Collections.Generic;
using System.Text;

namespace WPFCABShell.Shell.Interface.Services.Options
{
	/// <summary>
	/// Defines the functionality of an options object.
	/// </summary>
	/// <remarks>
	/// <para>
	/// An object implementing this interface represents a set of options in the application. The options are editable via an
	/// instance of <see cref="PaneType"/>.
	/// </para>
	/// </remarks>
	public interface IOptions
	{
		/// <summary>
		/// Gets the site name to which the options were added.
		/// </summary>
		string TargetSiteName
		{
			get;
		}

		/// <summary>
		/// Gets the name of the options.
		/// </summary>
		string Name
		{
			get;
		}

		/// <summary>
		/// Gets the type implementing the options pane.
		/// </summary>
		Type PaneType
		{
			get;
		}

		/// <summary>
		/// Gets the site name registered for the options, if any.
		/// </summary>
		string SiteName
		{
			get;
		}
	}
}
